///*
// * Licensed to the Apache Software Foundation (ASF) under one or more
// * contributor license agreements.  See the NOTICE file distributed with
// * this work for additional information regarding copyright ownership.
// * The ASF licenses this file to You under the Apache License, Version 2.0
// * (the "License"); you may not use this file except in compliance with
// * the License.  You may obtain a copy of the License at
// *
// *     http://www.apache.org/licenses/LICENSE-2.0
// *
// * Unless required by applicable law or agreed to in writing, software
// * distributed under the License is distributed on an "AS IS" BASIS,
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// * See the License for the specific language governing permissions and
// * limitations under the License.
// */
//package org.geektimes.projects.servlet;
//
//import javax.servlet.AsyncContext;
//import javax.servlet.ServletException;
//import javax.servlet.annotation.WebServlet;
//import javax.servlet.http.HttpServlet;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import java.io.IOException;
//import java.io.PrintWriter;
//import java.io.Writer;
//
///**
// * Servlet 实现
// *
// * @author <a href="mailto:mercyblitz@gmail.com">Mercy</a>
// * @since TODO
// */
//@WebServlet(urlPatterns = "/my", asyncSupported = true)
//public class MyServlet extends HttpServlet {
//
//    @Override
//    public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//
//        PrintWriter writer = response.getWriter();
//        println(writer, "Hello,World");
//
//        AsyncContext asyncContext = request.getAsyncContext();
//
//        asyncContext.start(() -> {
//            try {
//                println(writer, "Hello,World");
//            } catch (IOException e) {
//                e.printStackTrace();
//            }
//        });
//
//        asyncContext.complete(); // 异步完成
//    }
//
//    private static void println(Writer writer, Object message) throws IOException {
//        writer.write(String.format("[线程 - %s] : %s\n", Thread.currentThread().getName(), message));
//    }
//}
